package com.landinfo.service.dto;


import com.vividsolutions.jts.geom.Point;

import javax.persistence.Column;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Objects;
import java.util.Set;

/**
 * A DTO for the DataType entity.
 */
public class GpsLocationDTO implements Serializable {

    @Size(max = 36)
    private String id;

    private Double x;

    private Double y;

    private Double z;

    private String author;

    private Date createDateTime;

    @Size(max = 36)
    private String parentId;

    @Size(max = 100)
    private String dynamicTableName;

    private String deviceId;

    private Long jianceyangxian;

    private Point geom;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public Double getX() {
        return x;
    }

    public void setX(Double x) {
        this.x = x;
    }

    public Double getY() {
        return y;
    }

    public void setY(Double y) {
        this.y = y;
    }

    public Double getZ() {
        return z;
    }

    public void setZ(Double z) {
        this.z = z;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        GpsLocationDTO dataTypeDTO = (GpsLocationDTO) o;
        if (dataTypeDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), dataTypeDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public Date getCreateDateTime() {
        return createDateTime;
    }

    public void setCreateDateTime(Date createDateTime) {
        this.createDateTime = createDateTime;
    }

    public String getDynamicTableName() {
        return dynamicTableName;
    }

    public void setDynamicTableName(String dynamicTableName) {
        this.dynamicTableName = dynamicTableName;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public Point getGeom() {
        return geom;
    }

    public void setGeom(Point geom) {
        this.geom = geom;
    }

    public Long getJianceyangxian() {
        return jianceyangxian;
    }

    public void setJianceyangxian(Long jianceyangxian) {
        this.jianceyangxian = jianceyangxian;
    }
}
